var gulp = require('gulp');  //引入核心工具

var gulp_minify_css=require("gulp-minify-css");//压缩css

//require属于CMD规范
var gulp_sass = require("gulp-sass"); //编译scss文件

var gulp_uglify=require("gulp-uglify");//压缩JS文件

var babel = require("gulp-babel");//将ES6代码转换ES5

var tiny = require("gulp-tinypng");//tinypng压缩图片

var autoprefixer = require("gulp-autoprefixer");//自动添加css属性的前缀 cnpm i --save-dev gulp-autoprefixer

var copy = require("gulp-copy");//复制静态资源文件 cnpm i --save-dev gulp-copy

var browserSync = require("browser-sync").create()//浏览器热更新

gulp.task("bs",function(){
	browserSync.init({
		server:{
			baseDir:"./src"
		},
		//修改端口号
		port:4000
	
	})
	gulp.watch("src/scss/**/*.scss",["sass"])
	.on("change",browserSync.reload)
	gulp.watch("src/**/*.html",["copyhtml"])
	.on("change",browsersync.reload)
})

//自定义一个任务
//ImgList.addEventListener("click",function)
gulp.task("init",function(){
	console.log("init")
})

//压缩css
gulp.task("minifycss",function(){
// 文件源头
	gulp.src("src/css/*/*.css")
		.pipe(autoprefixer({
			browsers:['last 2 verions','Android >= 4.0','ios 7','last 3 Safari versions'],
			cascade:true
			//美化属性：例如-webkit-
			
		}))
		.pipe(gulp_minify_css())
		.pipe(gulp.dest("dist/css"))
})


//编译sass
gulp.task("scss",function(){
	gulp.src("src/scss/**/*.scss")
		.pipe(gulp_sass())
		.pipe(gulp.dest("dist/css"))
})
//监听scss，并将其转化为css
gulp.task("watchScss",function(){
	gulp.watch("src/scss")
})

gulp.task("dev",function(){
	gulp.watch("src/scss/**/*.scss",["sass"])
		.on("change",function(e){
			console.log(e)
		})
})

//压缩JS
gulp.task("uglify",function(){
	gulp.src("src/js/**/*.js")
		.pipe(babel({
				presets:["env"]
		}))
		.pipe(gulp_uglify())
		.pipe(gulp.dest("dist/js"))
})

gulp.task("babel",function(){
		//文件源头
		gulp.src("src/js/**/*.js")
		.pipe(babel())
		.pipe(gulp.dest("dist/js"))
})

//压缩图片 cnpm install gulp=tinypng  --save-dev
gulp.task("minifying",function(){
	//代表src/img目录下的任意文件夹中的任意文件
	gulp.src("src/img/*.*")
		.pipe(tiny("s7XAma9jZvBwBRutfxhNe4VsHDaYEkSW"))
		.pipe(gulp.dest("dist/img/"))
})


//复制html文件
gulp.task("copyHtml",function(){
	gulp.src("src/**/*.html")
      .pipe(gulp.dest("dist/"))
})

//一键压缩CSS.JS
gulp.task("pro",["minifycss","minifyjs","copyHtml","copy"])


//复制静态文件
gulp.task("copy",function(){
	gulp.src("src/media/**/*.*")
	.pipe(copy("dist/media",{prefix:"2"}))
})
